Category-based keyboard

ABSTRACT

Apparatuses, systems, media, and/or methods may involve a keyboard and/or a selection of an element thereof. The keyboard may include a keyboard configuration, which may have one or more elements such as a character, a key, and/or functionality for the key. The key may include no characters, one or more characters, and/or one or more sets of characters. The architecture of the keyboard configuration may be based on one or more categories, such as a hand category and/or a finger category. In addition, a touch area may be recognized, which may be formed between a user digit and the key of the keyboard configuration. The category associated with the touch area may be determined, wherein the character, the key, and/or the functionality for the key may be selected based on the category.

BACKGROUND

Embodiments may generally relate to keyboards. More particularly,embodiments may relate to the use of categories to configure keyboards.

A conventional keyboard may include a configuration of keys, wherein thekeys may be relatively small. For example, the keyboard may include aplurality of characters assigned to a single key, wherein the user maybe required to repeatedly click the key to select a desired character.Such an approach may lead to typing errors due to, for example,incorrect click actions, too small of a key size, compact key spacingand/or indeterminate key characters.

BRIEF DESCRIPTION OF THE DRAWINGS

The various advantages of embodiments will become apparent to oneskilled in the art by reading the following specification and appendedclaims, and by referencing the following drawings, in which:

FIG. 1 is a block diagram of an example approach to provide acategory-based keyboard configuration and/or to select of an elementthereof according to an embodiment;

FIG. 2 is a block diagram of an example approach to determine a categoryaccording to an embodiment;

FIGS. 3A and 3B are block diagrams of examples of a category-basedkeyboard configuration and/or an element selected thereof according toan embodiment;

FIG. 4 is a flowchart of an example of a method to provide acategory-based keyboard configuration and/or to select an elementthereof according to an embodiment;

FIG. 5 is a flowchart of an example of a method to provide acategory-based keyboard configuration and/or to select of an elementthereof according to an embodiment;

FIG. 6 is a block diagram of an example of a logic architectureaccording to an embodiment;

FIG. 7 is a block diagram of an example of a processor according to anembodiment; and

FIG. 8 is a block diagram of an example of a system according to anembodiment.

DETAILED DESCRIPTION

FIG. 1 shows an approach 10 to provide a category-based keyboardconfiguration and/or to select an element thereof according to anembodiment. In the illustrated example, a user may hold and/or contactan apparatus 12. The apparatus 12 may include any computing deviceand/or data platform such as a laptop, personal digital assistant (PDA),wireless smart phone, media content player, imaging device, mobileInternet device (MID), any smart device such as a smart phone, smarttablet, smart TV, computer server, and so on, or any combinationthereof. In one example, the apparatus 12 may include a relativelyhigh-performance mobile platform such as a notebook having a relativelyhigh processing capability (e.g., Ultrabook® convertible notebook, aregistered trademark of Intel Corporation in the U.S. and/or othercountries).

The apparatus 12 may also include an image capture device (not shown).For example, the image capture device may include an integrated cameraof a computing device, a front-facing camera, a rear-facing camera, arotating camera, a 2D (two-dimensional) camera, a 3D (three-dimensional)camera, a standalone camera, and so on, or combinations thereof. Theillustrated apparatus 12 includes a display 14, such as a touch screen(e.g., a capacitive touch screen, a resistive touch screen, etc.). Inone example, the display 14 may be capable of receiving a contact actionfrom the user, and/or may be capable of electronically processing thecontact action to achieve a goal associated with the contact action(e.g., enter a character to create a text message, etc.). The display 14may also be capable of rendering information, such as one or morecharacters, keys, and/or keyboard configurations, described below. Inthe illustrated example, the user holds and/or contacts the apparatus 12via a left hand 18 and/or a right hand 20.

The apparatus 12 may include a key module to provide one or more keys(e.g., software keys/softkeys), which may be rendered to the user via adisplay such the display 14. The key may include any type of key toprovide functionality, such as a character key to enter a character, amodifier key to alter the function of other keys, a navigation key tomove a cursor on a screen, a function and/or system command key toprovide special actions (e.g., escape, break, shift, etc.), and so on,or combinations thereof. Thus, the key may include (e.g., be associatedwith) one or more characters to be entered, to identify thefunctionality for the key, and so on, or combinations thereof. Thecharacters may include a letter (e.g., “a”), a number (e.g., “1”), apunctuation (e.g., “!”), a symbol, and so on, or combinations thereof.In one example, the symbol may include a currency symbol (e.g. “$”), afraction symbol (e.g. “½”), a math symbol (e.g., “<”, “+”, “%”, “∫”,etc.), a trade symbol (e.g., “®”), a keyboard symbol (e.g., “

”, “esc”, “tab”, “caps lock”, “shift”, “fn”, “control”, “alt”, “return”,etc.), a shape symbol (e.g., “⋄”, etc.), an arrow symbol (e.g., “

”, etc.), a check mark symbol (e.g., “□”, etc.), a music symbol (e.g., “

”), a Greek symbol (e.g. “φ”), an accent symbol (e.g., “˜”), a specialsymbol (e.g., “

”, “@”, “#”. “

”, etc.), and so on, or combinations thereof.

Accordingly, the key module may provide at least one key including asingle character (e.g., a key including the symbol “Return”, etc.), twocharacters (e.g., a key including two letters “q” and “w”, two letters“o” and “p”, etc.), at least two characters (e.g., a key including threenumbers “1”, “2”, and “3”, etc.), and so on, or combinations thereof. Inaddition, the key module may provide at least one key including one ormore sets of characters, such as a single “123/#&@” key including afirst set of numbers “1”, “2”, and “3” and a second set of symbols “#”,“&”, and “@”. Moreover, the key module may provide at least one keywithout characters, such as one or more space bar keys.

The key module may also provide a keyboard, which may include aconfiguration of one or more elements (e.g., characters, keys,functionalities for the keys, etc.). In the illustrated example, akeyboard configuration 16 includes a plurality of characters “q” and “w”in a “q/w” key, a plurality of keys, and/or a plurality offunctionalities. In addition, the keyboard configuration 16 provides areduction in the number of keys relative to a pre-existing keyboardconfiguration, an enlargement of the size of the keys and/or charactersrelative to a pre-existing keyboard configuration, an enlargement of thespacing between keys and/or characters relative to a pre-existingconfiguration, and so on, or combinations thereof. Thus, the keyboardconfiguration 16 may facilitate any desired size, spacing,functionality, and so on, or combinations thereof.

The apparatus 12 may include a contact module to recognize one or moretouch areas. In one example, the touch area may be formed between one ormore user digits (e.g., a finger of the user, part thereof, etc.) andthe elements of the keyboard configuration 16. For example, the contactmodule may determine one or more qualities of at least one of the touchareas. The quality may include a dimension of the touch area, such as asize, a shape, and so on, or combinations thereof. The size of the toucharea may include, for example, the width of the touch area, the lengthof the touch area, the height of the touch area, the diameter of thetouch area, the radius of the touch area, the angles between parts ofthe touch area, and so on, or combinations thereof.

The shape of the touch area may include, for example, a square shape, arectangular shape, a circular shape, an oval shape, a triangular shape,an amorphous shape, a continuous shape (e.g., a shape including nogaps), a discontinuous shape (e.g., a shape including one or more gaps),and so on, or combinations thereof. The contact module may alsodetermine any other qualities, such as a pressure of the touch area, atemperature of the touch area, a feature of the touch area (e.g., printridges, print bifurcations, etc.), and so on, or combinations thereof.In the illustrated example, the touch module recognizes a touch area 22formed between a thumb of the left hand 18 and the “q/w” key of thekeyboard configuration 16. In addition, the touch module recognizes atouch area 24 formed between a thumb of the right hand 20 and/or anindex finger of the right hand 20 and an “o/p” key of the keyboardconfiguration 16.

The apparatus 12 may include a classification module to determine one ormore categories. In one example, the category may be associated with atleast one of the touch areas 22, 24. The classification module maydetermine that the categories associated with at least one of the touchareas 22, 24 include a hand category, a finger category, and so on, orcombinations thereof. For example, the classification module maydetermine that the category associated with at least one of the touchareas 22, 24 includes a right hand class, a left hand class, a thumbclass, an index finger class, a middle finger class, a ring fingerclass, and a little finger class, and so on, or combinations thereof.

Accordingly, the classification module may determine that the categoryincludes an individual class, a collection of individual classes, and/ora combination of individual classes. In one example, the classificationmodule may determine that only the left hand class or the thumb classare individually associated with the touch area 22, that the left handclass and the thumb class are collectively associated with the toucharea 22, and/or that a combined left hand thumb class is associated withthe touch area 22. In another example, the classification module maydetermine that only the right hand class, the thumb class, or the indexfinger class are individually associated with the touch area 24, thatthe right hand class, the thumb class and the index finger class arecollectively associated with the touch area 24, and/or that that acombined right hand thumb class and/or a combined right hand indexfinger class are associated (individually, collectively, etc.) with thetouch area 24.

The classification module may determine that the category includes anycombination of classes, such as a multiple finger class (e.g., a classincluding two or more finger classes, etc.), a multiple hand class(e.g., a class including the right hand class and the left hand class),a multiple left hand finger class (e.g., a class including two or moreleft hand finger classes), a multiple right hand finger class (e.g., aclass including two or more right hand finger class), a multiplehand-single finger class (e.g., a class including the right hand class,the left hand class, and the thumb class), a multiple hand-single lefthand thumb class (e.g., a class including the right hand class and aleft hand thumb class), and so on, or combinations thereof. In theillustrated example, the classification module determines that the lefthand class, the left hand thumb class, etc., is associated with thetouch area 22 using the qualities thereof. In addition, theclassification module may determine that the right hand class, the righthand thumb class, the right hand index finger class, the multiple righthand finger class, etc. is associated with the touch area 24 usingqualities thereof.

The apparatus 12 may also include a selection module to select at leastone element of the keyboard configuration. For example, the selectionmodule may use at least one of the touch areas 22, 24 to determine acharacter contacted, a key contacted, a functionality contacted, and soon, or combinations thereof. In one example, the selection moduleutilizes the touch area 22 (e.g., a position thereof, qualities thereofetc.) to determine that the character “q” and/or “w” is contacted, todetermine that the key “q/w” is contacted, to determine thefunctionality (e.g., enter characters) is contacted, and so on, orcombinations thereof. In another example, the selection module utilizesthe touch area 24 to determine that the character “o” and/or “p” iscontacted, to determine that the “o/p” key is contacted, to determinethat the functionality (e.g., enter characters) is contacted, and so on,or combinations thereof.

The selection module may select a character (e.g., the letter “q”, theletter “p”, etc.) based on one or more categories, such as the left handclass, the thumb class, the left hand thumb class, the right hand class,the right hand thumb class, and so on, or combinations thereof. In oneexample, the selection module selects the character “q” based on theleft hand class, the left hand thumb class, etc., when the touch area 22is formed between the thumb of the left hand 18 and one or more keys ofthe keyboard configuration 16 including the character “q” (e.g., a “q”key, a “q/esc” key, the “q/w” key, etc.). In another example, theselection module may select the character “p” based on the right handclass, the right hand thumb class, the right hand index finger class,the multiple right hand finger class, etc., when the touch area 24 isformed between the thumb of the right hand 20 and/or the index finger ofthe right hand 20 and one or more keys of the keyboard configuration 16including the character “p” (e.g., a “p” key, an “esc/p” key, the “o/p”,etc.). The selection module may also select another character of theplurality of the characters in the same key based on another category.For example, the selection module may select the character “o” in the“o/p” key based on the left hand class, the left hand thumb class, etc.,may select the character “w” in the “q/w” key based on the right handclass, the right hand thumb class, etc., and so on, or combinationsthereof.

Additionally, the selection module may select at least one of thecharacters based on a single contact action for the key. In one example,the selection module may select the character “q” in the “q/w” key basedon a singe contact action (e.g., single tap, single swipe, single press,etc.) for the “q/w” key by the thumb of the left hand 18. In anotherexample, the selection module may select the character “p” in the “o/p”key based on a single contact action for the “o/p” key by the thumb ofthe right hand 20 and/or the index finger of the right hand 20. In afurther example, the selection module may select another character ofthe plurality of the characters in the same key based on another singlecontact action. For example, the selection module may select thecharacter “o” in the “o/p” key based on another single tap by the samehand, the same finger, the same type of finger, a different type finger,a different hand, and so on, or combinations thereof.

The selection module may utilize one or more selection rules to selectthe character, the key, and/or the functionality for the key. In oneexample, the selection rule may be associated with at least one of thecategories, the keys, and/or the functionality for the keys, thekeyboard configurations. For example, the selection rule may indicatethat for any key including two or more characters (e.g. the “q/w” key,etc.) and/or two or more sets of characters (e.g., the “123/#&@” key),that the selection module choose one or more characters and/or sets ofcharacters on a side of a spacer (e.g., the left side of a spacer “/”)based on a hand category such as the left hand class, the right handclass, etc., based on a finger category such as the thumb class, theindex finger class, etc., based on a combined category such as the lefthand thumb class, the right hand thumb class, etc., and so on, orcombinations thereof.

The spacer may include any representation to separate characters and/orsets of characters. For example the spacer may include a divider (e.g.,“/”), an empty space, a different row in which the characters and/or thesets of characters are disposed, a different column in which thecharacters and/or the sets of characters are disposed, and so on, orcombinations thereof. Thus, in one example, the selection rule mayindicate that for the “q/w” key of the keyboard configuration 16, theselection module is to choose the character “q” on the left side of thespacer “/” based on a left hand category and/or a left hand thumbcategory, while indicate that the selection module is to choose thecharacter “w” on the right side of the spacer “/” based on a right handcategory and/or a right hand thumb category.

The selection module may select the character, the key, and/or thefunctionality for the key independently of the category, independentlyof determining the category, and so on, or combinations thereof. Forexample, the selection rule may indicate that for any key without acharacter (e.g., a space bar key) and/or a single character (e.g., the“q” key), the selection module may choose the character (e.g. “q”) basedon the formation of a touch area, the presence of any quality of a toucharea, any category (e.g., any hand category, any finger category, etc.),and so on, or combinations thereof. The absence of a selection rule mayalso cause the selection module to choose the character, the key, and/orthe functionality for the key independently of the category,independently of determining the category, and so on, or combinationsthereof.

The selection module may select the characters based on a preference,such as a pre-defined (e.g., configurable, programmable) preference. Inone example, the character, the key, and/or the functionality for thekey may be selected based on a pre-defined preference for one or morecategories, for the absence of a category, for one or more touch areas,for one or more selection rules, for the absence of a selection rule,and so on, or combinations thereof. In another example, the selectionmodule may select the characters based on a pre-defined selection rule.For example, the selection rule may be pre-defined to indicate thecircumstances to select the character, to select the key, and/or toselect the functionality for the key.

The selection module may select the characters based on a pre-definedcategory. In one example, the category may be pre-defined by utilizingreference data, such as a standard reference touch area, a specificreference touch area for the user, and so on, or combinations thereof.For example, a reference touch area may be captured and/or stored (e.g.,via a registration operation) in which information representative of thetype of user (e.g., qualities of a touch area for an adult, etc.) and/orrepresentative of the specific user (e.g., qualities of a touch area forthe specific user) may be held in a reference database to be mapped toone or more categories. The category may, however, also be mapped to anycharacter, key, functionality for the key and so on, or combinationsthereof.

Accordingly, when a newly formed touch area and/or current touch area isencountered, the character, the key, and/or the functionality for thekey may be selected based on the category that is mapped to, forexample, the reference data including a certain identity to the newlyformed touch area (e.g., 99% total identity, 95% total identity, 100%feature identity, 50% total identity and 50% feature identity, etc.).Moreover, the category may be pre-defined to specify the type ofcategory to be mapped to the reference data, to the character, to thekey, and so on, or combinations thereof. For example, the category maybe pre-defined to specify that the character, the key, etc., include theleft hand class and exclude the left hand finger class, vice versa, andso on, or combinations thereof.

The characters selected may be used to accomplish a goal associated withthe touch areas 22, 24. In one example, the selected character may beused to create work product. For example, the work product may include amessage such as a text message, an instant message, a chat, a post, ablog, a query message (e.g., a search query), an email message, a phonemessage (e.g. a phone number, etc.) and so on, or combinations thereof.The work product may include, in another example, a web page, adocument, a presentation, a spreadsheet, a drawing, and so on, orcombinations thereof. In addition, the selected character may be used toprovide access to a secure content. For example, the selected charactersmay be used to log into a secure environment (e.g. to enter a password),may be used to authenticate the user, may be used to unlock the content,and so on, or combinations thereof. In the illustrated example, theselected characters “q” and “p” are displayed in a render portion 26 ofthe display 14 to accomplish the goal of the touch areas 22, 24. Theselected characters, however, may be chosen and not displayed, and/ormay be transformed to another representation prior to the display, forexample to minimize inadvertent publication of characters.

Turning now to FIG. 2, an example approach 102 is shown to determine oneor more categories according to an embodiment. In one example, thecategory may be associated with a touch area 128 and/or a touch area130. The touch areas 128, 130 may be formed between one or more userdigits and one or more elements of a keyboard configuration, such as acharacter, a key, configuration functionality of the key, and so on, orcombinations thereof. The touch areas 128, 130 may be filtered at anytime, such as during formation, after formation, before rendering, afterrendering, and so on, or combinations thereof. The touch areas 128, 130may be filtered to minimize noise, to enhance a determination ofqualities thereof, and so on, or combinations thereof. The qualities ofthe touch areas 128, 130 may include, for include a size, a shape, apressure, a temperature, a feature, and so on, or combinations thereof.In the illustrated example, the touch areas 128, 130 include mirroreddimensions of each other, such as a mirrored size and/or shape. Thus,the touch areas 128, 130 may represent opposite classes. For example,the touch area 128 may represent a left hand class, a left hand thumbclass, etc., while the touch area 130 may represent a right hand class,a right hand thumb class, etc.

The touch areas 128, 130 may be used to determine a character to becontacted, a key to be contacted/selected, a functionality of the key tobe contacted/selected, and so on, or combinations thereof. For example,the location of the touch areas 128, 130 relative to the character, thekey, and/or the keyboard configuration may be utilized to select thecharacter, the key, the functionality for the key, and so on, orcombinations thereof. In another example, one or more of the qualitiesof the touch areas 128, 130 may be utilized to select the character, thekey, the functionality for the key, and so on, or combinations thereof.For example, the pressure (e.g., maximum pressure, minimum pressure,etc.), the dimensions (e.g., maximum size, maximum shape, minimum size,etc.), etc., of the touch areas 128, 130 may be used to determine aregion of interest to select the character, the key, the functionalityfor the key, and so on, or combinations thereof.

Additionally, the touch areas 128, 130 may represent a newly encounteredtouch area and/or a current touch area, such as a touch area formed by acurrent touch action. The touch areas 128, 130 may also representreference data, such as a standard reference touch area, a specificreference touch area for the user, and so on, or combinations thereof.In one example, the touch areas 128, 130 (e.g., qualities thereof) mayrepresent a standard adult left hand thumb class and a standard adultright hand thumb class, respectively. The touch areas 128, 130 may,however, represent any standard user characteristic, such as standardgender, age, weight, height, and so on, or combinations thereof. Inaddition, the touch areas 128, 130 may represent the specific referencetouch area for the user. Thus, the touch areas 128, 130 may be captured,stored, mapped to one or more categories, used for comparison to newlyencountered touch areas, used for comparison to reference data, and soon or combinations thereof.

FIGS. 3A and 3B show examples of a category-based keyboard configurationand/or an element selected thereof according to an embodiment. In theillustrated example, a pre-existing keyboard configuration 332 and/or apre-existing keyboard configuration 336 may include a certain number ofcharacters thereof, keys thereof, dimensions thereof, spacing thereof,functionality thereof, and so on, or combinations thereof. For example,the pre-existing keyboard configuration 332 may include thirty-five keyshaving respective size, shape, spacing, and having a single character inall but three keys (e.g., a “123” key, a “#&@” key, and/or a space bar).The pre-existing keyboard configuration 336 may include twenty keyshaving respective size, shape, spacing, and having a single character ineight keys, a space bar key without any characters, and/or three or morecharacters in a remainder of the keys thereof.

In the illustrated example, a keyboard configuration 334 and/or akeyboard configuration 338 includes a plurality of characters in atleast one key. For example, the keyboard configuration 334 includesfifteen out of twenty keys having two or more characters. In addition,the keyboard configuration 338 includes eleven out of twelve keys havingtwo or more characters. Moreover, the keyboard configurations 334, 338may be capable of providing multiple contexts for one or more keys(e.g., based on a hand and/or finger to be used) to facilitate anydesired functionality, size, spacing, and so on, or combinationsthereof. For example, the keyboard configurations 334, 338 may provide areduction in the number of keys, an enlargement of the size of thecharacters and/or keys, an enlargement in the spacing between thecharacters and/or keys, a flexible keyboard configuration, and so on, orcombinations thereof.

In one example, the keyboard configuration 334 provides a reduction inthe number of keys relative to the pre-existing keyboard configuration332 from thirty-five keys to twenty keys. In addition, the keyboardconfiguration 334 provides an increase in the size of the keys and/or anincrease in the spacing of the keys relative to the pre-existingkeyboard configuration 332. Moreover, the keyboard configuration 334provides an increase in the size of the characters and/or an increase inthe spacing of the characters relative to the pre-existing keyboardconfiguration 332. In another example, the keyboard configuration 338provides a reduction in the number of keys relative to the pre-existingkeyboard configuration 336 from twenty keys to eleven keys. In addition,the keyboard configuration 338 provides an increase in the size of thekeys and/or an increase in the spacing of the keys relative to thepre-existing keyboard configuration 336. Moreover, the keyboardconfiguration 338 provides an increase in the size of the charactersand/or an increase in the spacing of the characters relative to thepre-existing keyboard configuration 336. Thus, user error as a result ofan incorrect click action, too small of a key size, compact key spacing,indeterminate key characters, etc., may be minimized and/or eliminated.

The keyboard configurations 334, 338 may be based on one or morecategories. The category may include a hand category, a finger category,and so on, or combinations thereof. For example, the category mayinclude a right hand class, a left hand class, a thumb class, an indexfinger class, a middle finger class, a ring finger class, and a littlefinger class, and so on, or combinations thereof. Accordingly, thecategory may include one individual class, a collection of individualclasses, and/or a combination of individual classes. For example, acombination of classes may include a multiple finger class, a multiplehand class, a multiple left hand finger class, a multiple right handfinger class, a multiple hand-single finger class, a multiplehand-single left hand thumb class, and so on, or combinations thereof.

Accordingly, the capability to provide multiple contexts via one or morecategories for an element of the keyboard configuration 334, 338 maydictate the architecture (e.g., the appearance, etc.) of the keyboardconfigurations 334, 338. For example, the character “q” may be selectedbased on a left hand category, a left hand thumb category, etc., when atouch area is formed between a thumb of a left hand and a “q/w” key ofthe keyboard configuration 334. In another example, the character “w”may be selected based on a right hand category, a right hand thumbcategory, etc., when a touch area is formed between a thumb of a righthand and the “q/w” key. Thus, the architecture of the keyboardconfigurations 334, 338 may include the “q/w” key based on thecategories. In addition, the architecture of the keyboard configurations334, 338 may include a change in element size (e.g., size of character,size of key, etc.), spacing, etc., for example when two or morecharacters are provided in one or more keys based on the categories. Thearchitecture of the keyboard configurations 334, 338 may, however, beguided by any mapping to categories, to selection rules, and so on, orcombinations thereof.

In addition, at least one character from the plurality of characters inthe “q/w” key of the keyboard configuration 334 may be selected based ona single contact action for the “q/w” key. For example, the character“q” may be selected based on a single contact action (e.g., single tap,single swipe, single press, etc.) for the “q/w” key. Accordingly, aclick action involving more than one click to select a character may beminimized. A character, however, may also be selected based on aplurality of contact actions. For example, a set of characters “wxyz” ina “tuvwxyz” key of the keyboard configuration 338 may be selected basedon a right hand category, a right hand thumb category, etc., when atouch area is formed via a first contact action between a thumb of aright hand and the “tuvwxyz” key. In addition, a second contact actionmay be encountered to cause the character “w” to be chosen from theselected set of characters “wxyz” based on a second contact action, suchas a second tap, whether or not the first contact action and the secondcontact action are associated with the same category, differentcategories, and so on, or combinations thereof.

Turning now to FIG. 4, a method 402 is shown to provide a category-basedkeyboard configuration and/or to select an element thereof according toan embodiment. The method 402 may be implemented as a set of logicinstructions and/or firmware stored in a machine- or computer-readablestorage medium such as random access memory (RAM), read only memory(ROM), programmable ROM (PROM), flash memory, etc., in configurablelogic such as, for example, programmable logic arrays (PLAs), fieldprogrammable gate arrays (FPGAs), complex programmable logic devices(CPLDs), in fixed-functionality logic hardware using circuit technologysuch as, for example, application specific integrated circuit (ASIC),CMOS or transistor-transistor logic (TTL) technology, or any combinationthereof. For example, computer program code to carry out operationsshown in the method 402 may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as C++ or the like and conventional procedural programminglanguages, such as the “C” programming language or similar programminglanguages. Moreover, the method 402 may be implemented using any of theherein mentioned circuit technologies.

Illustrated processing block 440 involves providing one or morekeyboards. The keyboard may include a configuration of one or moreelements, such as a key including a character to be entered, to identifythe functionality of the key, and so on, or combinations thereof. In oneexample, the character may include a letter, a number, a punctuation, asymbol, and so on, or combinations thereof. In addition, at least onekey may include no characters, a single character, two characters, morethan two characters, one or more sets of characters, and so on, orcombinations thereof. Moreover, the keyboard configuration may provide areduction in the number of keys relative to a pre-existing keyboardconfiguration, an enlargement of the size of the keys relative to apre-existing keyboard configuration, and so on, or combinations thereof.The architecture of the keyboard configuration may be based on acategory, a selection rule, and so on, or combinations thereof.

Illustrated processing block 442 involves recognizing one or more touchareas formed between one or more user digits and one or more keys. Inone example, recognizing the touch area may involve determining aposition of the touch area, such as the position of the touch arearelative to the character, the key, and/or the keyboard configuration.In another example, recognizing the touch area may involve determiningone or more qualities of the touch area, such as a dimension of thetouch area, a pressure of the touch area, a temperature of the toucharea, a feature of the touch area, and so on, or combinations thereof.In a further example, recognizing the touch area may involve filteringthe touch area.

Illustrated processing block 444 involves determining one or morecategories associated with at least one of the touch areas. The categorymay be determined based on reference data, for example utilizing astandard reference touch area, a specific reference touch area for theuser, and so on, or combinations thereof. The category may include ahand category, a finger category, and so on, or combinations thereof.For example, the category may include a right hand class, a left handclass, a thumb class, an index finger class, a middle finger class, aring finger class, and a little finger class, and so on, or combinationsthereof. Accordingly, the category may include one individual class, acollection of individual classes, and/or a combination of individualclasses. For example, a combination of classes may include a multiplefinger class, a multiple hand class, a multiple left hand finger class,a multiple right hand finger class, a multiple hand-single finger class,a multiple hand-single left hand thumb class, and so on, or combinationsthereof.

Illustrated processing block 446 involves selecting at least one elementof the keyboard (e.g., select an element of the configuration), such asa character, a key, and/or functionality for the key, etc., based on oneor more of the categories. For example, selecting at least one element(e.g., a character) may involve using the touch area to determine whichcharacter is contacted, which key is contacted, and/or whichfunctionality for the keyboard has been requested. In one example, thelocation of the touch area relative to the character, the key, and/orthe keyboard configuration may be utilized to select the character, thekey, and/or the functionality for the key. In another example, selectingat least one character may involve using a quality of the touch area toselect the character, the key, and/or the functionality for the key. Forexample, the pressure (e.g. maximum pressure, minimum pressure, etc.),the dimensions (e.g., maximum size, maximum shape, minimum size, etc.),etc., of the touch area may be used to determine a region of interest toselect the character, the key, and/or the functionality for the key.

Additionally, selecting at least one element (e.g., a character) mayinvolve using one or more of the categories to choose the character, thekey, and/or the functionality for the key. In one example, the charactermay be selected based on the hand category and/or the finger category.For example, the character may be selected based on the left hand class,the right hand class, the thumb class, and so on, or combinationsthereof. In addition, selecting at least one element (e.g., thecharacter) may involve using one or more selection rules. For example,the selection rule may be associated with one or more of the categoriesto indicate that the selection of the element (e.g., the character) bebased on the category. The selection rule may, in another example,indicate that the character, the key, and/or the functionality for thekey be selected independently of the category, independently ofdetermining the category, and so on, or combinations thereof. Forexample, the element (e.g. the character) may be chosen based on theformation of a touch area, any quality of a touch area, any category,and so on, or combinations thereof. The absence of a selection rule mayalso indicate that selection may be accomplished independently of thecategory, independently of determining the category, and so on, orcombinations thereof.

Additionally, selecting at least one element (e.g., the character) mayinvolve a selection based on a single contact action for the key. Forexample, one character of a plurality of characters may be selectedbased on a single contact action (e.g., single tap, single swipe, singlepress, etc.) for the key. In addition, selecting the element (e.g., thecharacter) may include a selection based on a plurality of contactactions for the key. For example, one set of characters from a pluralityof sets of characters may be selected based on a first contact action,such as a first tap, and a character from the selected set of charactersmay be chosen based on a second contact action, such as a second tap,whether or not the first contact action and the second contact actionare associated with the same category, different categories, and so on,or combinations thereof.

Additionally, selecting at least one element (e.g., the character) mayinvolve selection based on a pre-defined preference, a pre-definedselection rule, a pre-defined category, and so on, or combinationsthereof. In one example, a pre-defined preference may allow thecharacter, the key, and/or the functionality of for the key to beselected based on a pre-defined preference for one or more categories,for the absence of a category, for one or more touch areas, for one ormore selection rules, for the absence of a selection rule, and so on, orcombinations thereof. In another example, a selection rule may bepre-defined to indicate the circumstances to select the character, toselect the key, to select the functionality for the key, and so on, orcombinations thereof.

In addition, the category may be pre-defined utilizing reference data,such as standard reference touch areas, a specific reference touch areasfor the user, and so on, or combinations thereof. For example, areference touch area may be captured and/or stored in which informationrepresentative of the type of user and/or representative of the specificuser may be held in a reference database to be mapped to one or morecategories. Moreover, the category may be mapped to any character, key,functionality for the key, and so on, or combinations thereof. Inaddition, the category may be pre-defined to specify the type ofcategory to be mapped to the reference data, to the character, to thekey, the functionality for the key, and so on, or combinations thereof.

Additionally, selecting the character may involve accomplishing a goalassociated with the touch area. In one example, the selected element(e.g., the selected character) may be used to create work product. Forexample, the work product may include a message, a web page, a document,a presentation, a spreadsheet, a drawing, and so on, or combinationsthereof. In another example, the selected element (e.g., the selectedcharacter) may be used to provide access to a secure content. Forexample, the selected character may be used to log into a secureenvironment, to authenticate the user, to unlock the content, and so on,or combinations thereof. The selected element (e.g., the selectedcharacter) may be displayed, may be chosen and not displayed, may betransformed to another representation prior to the display, and so on,or combinations thereof.

FIG. 5 shows a method 502 to provide a category-based keyboardconfiguration and/or to select an element thereof according to anembodiment. The method 502 could be implemented using any of the hereinmentioned technologies. Illustrated processing block 548 may render oneor more keys in a keyboard configuration via a display. In one example,at least one of the keys may include one or more characters. Thekeyboard configuration may provide a reduction in the number of keysrelative to a pre-existing keyboard configuration, an enlargement of thesize of the keys relative to a pre-existing keyboard configuration, andso on, or combinations thereof. The architecture (e.g. appearance and/orproperties) of the keyboard configuration may be based on at least onecategory.

A determination may be made at block 550 as to whether there is acontact action. For example, the determination may include recognizingif a user has contacted a display (e.g., a touch screen, etc.), hascontacted a character of the keyboard configuration, has contacted a keyof the keyboard configuration, and so on, or combinations thereof. Ifthere is no contact action, then the keys may be rendered at the block458, discussed above. If there is a contact action, one or more touchareas may be recognized at block 552. For example, one or more touchareas formed between one or more user digits and one or more of the keysmay be recognized at the block 552.

A category associated with at least one of the touch areas may bedetermined at block 554. For example, a determination may be made if thecategory associated with at least one of the touch areas includes a handcategory at block 556, a finger category at 558, and so on, orcombinations thereof. If the category associated with at least one ofthe touch areas may not be determined, or if a threshold number ofdeterminations is reached (e.g. a pre-determined threshold for thenumber of times to determine the category), the operation may berepeated via block 560. The character, the key, and/or the functionalityfor the key may be selected independently of any category, however, atblock 562 via the block 560 if the category associated with at least oneof the touch areas may not be determined and/or a maximum thresholdnumber of determination is reached.

If the category associated with at least one of the touch areas may bedetermined, a determination may be made at block 564 as to whether thekey includes two or more characters and/or if there are one or moreselection rules. If the key includes no characters, includes a singlecharacter, and/or includes two or more characters but no selectionrules, the character, the key, and/or the functionality for the key maybe selected independently of any category at the block 562. Moreover, ifthe category associated with at least one of the touch areas may bedetermined and no further evaluation is employed, if it is determinedthat the key includes two or more characters in a further evaluation atthe block 564, and/or if it is determined that there is a selection rulefor a key including two or more characters in a further evaluation atthe block 564, the character, the key, and/or the functionality for thekey may be selected based on the category at block 566.

Turning now to FIG. 6, an apparatus 602 is shown including logic 670 toprovide a category-based keyboard configuration and/or to select anelement thereof according to an embodiment. The logic architecture 670may be generally incorporated into a platform such as such as a laptop,personal digital assistant (PDA), wireless smart phone, media player,imaging device, mobile Internet device (MID), any smart device such as asmart phone, smart tablet, smart TV, computer server, and so on, orcombinations thereof. The logic architecture 670 may be implemented inan application, operating system, media framework, hardware component,and so on, or combinations thereof. The logic architecture 670 may alsobe implemented in any component of a keyboard configuration and/orelement selection pipeline, such as a network interface component,memory, processor, hard drive, operating system, application, and so on,or combinations thereof. For example, the logic architecture 670 may beimplemented in a processor, such as a central processing unit (CPU), agraphical processing unit (GPU), a visual processing unit (VPU), asensor, an operating system, an application, and so on, or combinationsthereof. The apparatus 602 may include and/or interact with storage 690,applications 692, memory 694, display 696. CPU 698, and so on, orcombinations thereof.

In the illustrated example, the logic architecture 670 includes a keymodule 672 to provide one or more keys. In one example, the key may berendered in a display, such as a touch screen. The key may include anytype of key to provide functionality, such as a character key to enter acharacter, a modifier key to alter the function of other keys, anavigation key to move a cursor on a screen, a function and/or systemcommand key to provide special actions, and so on, or combinationsthereof. The key may include one or more characters to be entered, toidentify the functionality of the key, and so on, or combinationsthereof. The characters may include a letter, a number, a punctuation, asymbol, and so on, or combinations thereof.

In addition, the key module may provide a keyboard configurationincluding one or more of the keys. The keyboard configuration mayinclude a plurality of characters in at least one of the keys. Thekeyboard configuration may include at least one key having nocharacters, one or more characters, one or more sets of characters, andso on, or combinations thereof. The keyboard configuration may alsoprovide a reduction in the number of keys relative to a pre-existingkeyboard configuration, an enlargement of the size of the keys relativeto a pre-existing keyboard configuration, and so on, or combinationsthereof.

Additionally, the logic architecture 670 may include a contact module674 to recognize one or more touch areas formed between one or more userdigits and the keys. In one example, the contact module 674 maydetermine a position of the touch area, such as the position of thetouch area relative to the character, the key, and/or the keyboardconfiguration. In another example, the contact module 674 may determineone or more qualities of the touch area, such as a dimension of thetouch area, a pressure of the touch area, a temperature of the toucharea, a feature of the touch area, and so on, or combinations thereof.In a further example, the contact module 674 may filter the touch area.

Additionally, the illustrated logic architecture 670 may include aclassification module 676 to determine one or more categories associatedwith at least one of the touch areas. The category may include a handcategory, a finger category, and so on, or combinations thereof. Forexample, the category may include a right hand class, a left hand class,a thumb class, an index finger class, a middle finger class, a ringfinger class, and a little finger class, and so on, or combinationsthereof. Accordingly, the category may include one individual class, acollection of individual classes, and/or a combination of individualclasses. For example, a combination of classes may include a multiplefinger class, a multiple hand class, a multiple left hand finger class,a multiple right hand finger class, a multiple hand-single finger class,a multiple hand-single left hand thumb class, and so on, or combinationsthereof.

Additionally, the illustrated logic architecture 670 includes aselection module 678 to select at least one character, key,functionality of for the key and so on, or combinations thereof. In oneexample, the selection module 678 may select at least one element of thekeyboard configuration (e.g., a character) based on a category, such asthe hand category and/or the finger category. In another example, theselection module 678 may utilize one or more selection rules to selectat least one character, key, and/or functionality for the key. Forexample, the selection rule may be associated with one or more of thecategories to indicate that the selection of the character be based onthe category. The selection rule may indicate, however, that thecharacter, the key, and/or the functionality for the key be selectedindependently of the category, independently of determining thecategory, and so on, or combinations thereof. For example, the charactermay be chosen based on the formation of a touch area, any quality of atouch area, any category, and so on, or combinations thereof. Theabsence of a selection rule may also indicate selection be accomplishedindependently of the category, independently of determining thecategory, and so on, or combinations thereof.

In addition, the selection module 678 may select at least one character,key, and/or functionality for the key based on a single contact actionfor the key. In one example, one character of a plurality of charactersin the key may be selected based on a single contact action (e.g.,single tap, single swipe, single press, etc.) for the key. Moreover, theselection module 678 may select at least one character, key, and/orfunctionality for the key based on a plurality of contact actions forthe key. For example, one set of characters of a plurality of sets ofcharacters may be selected based on a first contact action, such as afirst tap, and a character from the selected set of characters may bechosen based on a second contact action, such as a second tap, whetheror not the first contact action and the second contact action areassociated with the same category, different categories, and so on, orcombinations thereof.

In addition, the selection module 678 may select at least one character,key, and/or functionality for the key based on based on a pre-definedpreference, a pre-defined selection rule, pre-defined category, and soon, or combinations thereof. In one example, the selection module 678may utilize a category that is pre-defined using reference data, such asa standard reference touch areas, a specific reference touch areas forthe user, and so on, or combinations thereof. In another example, thecategory may be pre-defined to specify the type of category to be mappedto the reference data, to the character, to the key, and so on, orcombinations thereof.

Additionally, the illustrated logic architecture 670 may include acommunication module 680. The communication module may be incommunication and/or integrated with a network interface to provide awide variety of communication functionality, such as cellular telephone(e.g., W-CDMA (UMTS), CDMA2000 (IS-856/IS-2000), etc.), WiFi, Bluetooth(e.g., IEEE 802.15.1-2005, Wireless Personal Area Networks), WiMax(e.g., IEEE 802.16-2004), Global Positioning Systems (GPS), spreadspectrum (e.g., 900 MHz), and other radio frequency (RF) telephonypurposes. The communication module 680 may communicate any dataassociated with a keyboard, including data related to a character, akey, a keyboard configuration, a touch area, a category, a selection,and so on, or combinations thereof. For example, the communicationmodule may communicate a quality of a touch area to a server and receiveone or more categories and/or selection rules in response.

Additionally, any data associated with a keyboard may be stored in thestorage 690, may be displayed in via the applications 692, may be storedin the memory 694, may be displayed via the display 696, and/or may beimplemented via the CPU 698. In addition, the illustrated logicarchitecture 670 may include a user interface module 682. The userinterface module 682 may provide any desired interface, such as agraphical user interface, a command line interface, and so on, orcombinations thereof. The user interface module 682 may provide accessto one or more settings associated with a keyboard (e.g., keyboardconfiguration, character selection, etc.). The settings may includeoptions to define, for example, characters (e.g., specific characters,sets of characters, types of characters, dimensions thereof, etc.), keys(e.g., specific keys, sets of keys, types of keys, dimensions thereof,etc.), functionalities (e.g., space, escape, break, etc.), keyboardconfigurations (e.g., architecture, sets of keyboard configurations,types of keyboard configurations, etc.), parameters to recognize and/orprocess touch areas (e.g., filtering, minimum/maximum pressure, etc.),one or more categories (e.g., reference data, mappings, types ofcategories, etc.), and/or parameters to select categories, keys,functionality, and/or keyboard configurations (e.g., categories used tomake a selection, selection rules, preferences, etc.). The settings mayinclude automatic settings (e.g., automatically select a character),manual settings (e.g., request the user to manually confirm characterselection), and so on, or combinations thereof.

While examples have shown separate modules for illustration purposes, itis should be understood that one or more of the modules of the logicarchitecture 670 may be implemented in one or more combined modules,such as a single module including one or more of the key module 672, thecontact module 674, the classification module 676, the selection module678, the communication module 680, and/or the user interface module 682.In addition, it should be understood that one or more logic componentsof the apparatus 602 may be on platform, off platform, and/or reside inthe same or different real and/or virtual space as the apparatus 602.For example, the classification module 676 and/or the selection module678 may reside in a computing cloud environment on a server while one ormore of the other modules of the logic architecture 670 may reside on acomputing platform where the user is physically located, and vice versa,or combinations thereof.

Turning now to FIG. 7, a processor core 200 according to one embodimentis shown. The processor core 200 may be the core for any type ofprocessor, such as a micro-processor, an embedded processor, a digitalsignal processor (DSP), a network processor, or other device to executecode to implement the technologies described herein. Although only oneprocessor core 200 is illustrated in FIG. 7, a processing element mayalternatively include more than one of the processor core 200illustrated in FIG. 7. The processor core 200 may be a single-threadedcore or, for at least one embodiment, the processor core 200 may bemultithreaded in that it may include more than one hardware threadcontext (or “logical processor”) per core.

FIG. 7 also illustrates a memory 270 coupled to the processor 200. Thememory 270 may be any of a wide variety of memories (including variouslayers of memory hierarchy) as are known or otherwise available to thoseof skill in the art. The memory 270 may include one or more code 213instruction(s) to be executed by the processor 200 core, wherein thecode 213 may implement the logic architecture 670 (FIG. 6), alreadydiscussed. The processor core 200 follows a program sequence ofinstructions indicated by the code 213. Each instruction may enter afront end portion 210 and be processed by one or more decoders 220. Thedecoder 220 may generate as its output a micro operation such as a fixedwidth micro operation in a predefined format, or may generate otherinstructions, microinstructions, or control signals which reflect theoriginal code instruction. The illustrated front end 210 also includesregister renaming logic 225 and scheduling logic 230, which generallyallocate resources and queue the operation corresponding to the convertinstruction for execution.

The processor 200 is shown including execution logic 250 having a set ofexecution units 255-1 through 255-N. Some embodiments may include anumber of execution units dedicated to specific functions or sets offunctions. Other embodiments may include only one execution unit or oneexecution unit that may perform a particular function. The illustratedexecution logic 250 performs the operations specified by codeinstructions.

After completion of execution of the operations specified by the codeinstructions, back end logic 260 retires the instructions of the code213. In one embodiment, the processor 200 allows out of order executionbut requires in order retirement of instructions. Retirement logic 265may take a variety of forms as known to those of skill in the art (e.g.,re-order buffers or the like). In this manner, the processor core 200 istransformed during execution of the code 213, at least in terms of theoutput generated by the decoder, the hardware registers and tablesutilized by the register renaming logic 225, and any registers (notshown) modified by the execution logic 250.

Although not illustrated in FIG. 7, a processing element may includeother elements on chip with the processor core 200. For example, aprocessing element may include memory control logic along with theprocessor core 200. The processing element may include I/O control logicand/or may include I/O control logic integrated with memory controllogic. The processing element may also include one or more caches.

FIG. 8 shows a block diagram of a system 1000 in accordance with anembodiment. Shown in FIG. 8 is a multiprocessor system 1000 thatincludes a first processing element 1070 and a second processing element1080. While two processing elements 1070 and 1080 are shown, it is to beunderstood that an embodiment of system 1000 may also include only onesuch processing element.

System 1000 is illustrated as a point-to-point interconnect system,wherein the first processing element 1070 and second processing element1080 are coupled via a point-to-point interconnect 1050. It should beunderstood that any or all of the interconnects illustrated in FIG. 8may be implemented as a multi-drop bus rather than point-to-pointinterconnect.

As shown in FIG. 8, each of processing elements 1070 and 1080 may bemulticore processors, including first and second processor cores (i.e.,processor cores 1074 a and 1074 b and processor cores 1084 a and 1084b). Such cores 1074, 1074 b, 1084 a, 1084 b may be configured to executeinstruction code in a manner similar to that discussed above inconnection with FIG. 7.

Each processing element 1070, 1080 may include at least one shared cache1896. The shared cache 1896 a, 1896 b may store data (e.g.,instructions) that are utilized by one or more components of theprocessor, such as the cores 1074 a, 1074 b and 1084 a, 1084 b,respectively. For example, the shared cache may locally cache datastored in a memory 1032, 1034 for faster access by components of theprocessor. In one or more embodiments, the shared cache may include oneor more mid-level caches, such as level 2 (L2), level 3 (L3), level 4(L4), or other levels of cache, a last level cache (LLC), and/orcombinations thereof.

While shown with only two processing elements 1070, 1080, it is to beunderstood that the scope is not so limited. In other embodiments, oneor more additional processing elements may be present in a givenprocessor. Alternatively, one or more of processing elements 1070, 1080may be an element other than a processor, such as an accelerator or afield programmable gate array. For example, additional processingelement(s) may include additional processors(s) that are the same as afirst processor 1070, additional processor(s) that are heterogeneous orasymmetric to processor a first processor 1070, accelerators (such as,e.g., graphics accelerators or digital signal processing (DSP) units),field programmable gate arrays, or any other processing element. Theremay be a variety of differences between the processing elements 1070,1080 in terms of a spectrum of metrics of merit including architectural,microarchitectural, thermal, power consumption characteristics, and thelike. These differences may effectively manifest themselves as asymmetryand heterogeneity amongst the processing elements 1070, 1080. For atleast one embodiment, the various processing elements 1070, 1080 mayreside in the same die package.

First processing element 1070 may further include memory controllerlogic (MC) 1072 and point-to-point (P-P) interfaces 1076 and 1078.Similarly, second processing element 1080 may include a MC 1082 and P-Pinterfaces 1086 and 1088. As shown in FIG. 6, MC's 1072 and 1082 couplethe processors to respective memories, namely a memory 1032 and a memory1034, which may be portions of main memory locally attached to therespective processors. While the MC logic 1072 and 1082 is illustratedas integrated into the processing elements 1070, 1080, for alternativeembodiments the MC logic may be discrete logic outside the processingelements 1070, 1080 rather than integrated therein.

The first processing element 1070 and the second processing element 1080may be coupled to an I/O subsystem 1090 via P-P interconnects 1076, 1086and 1084, respectively. As shown in FIG. 8, the I/O subsystem 1090includes P-P interfaces 1094 and 1098. Furthermore. I/O subsystem 1090includes an interface 1092 to couple I/O subsystem 1090 with a highperformance graphics engine 1038. In one embodiment, bus 1049 may beused to couple graphics engine 1038 to I/O subsystem 1090. Alternately,a point-to-point interconnect 1039 may couple these components.

In turn, I/O subsystem 1090 may be coupled to a first bus 1016 via aninterface 1096. In one embodiment, the first bus 1016 may be aPeripheral Component Interconnect (PCI) bus, or a bus such as a PCIExpress bus or another third generation I/O interconnect bus, althoughthe scope is not so limited.

As shown in FIG. 8, various I/O devices 1014 such as the display 14(FIG. 1) and/or the display 696 (FIG. 6) may be coupled to the first bus1016, along with a bus bridge 1018 which may couple the first bus 1016to a second bus 1020. In one embodiment, the second bus 1020 may be alow pin count (LPC) bus. Various devices may be coupled to the secondbus 1020 including, for example, a keyboard/mouse 1012, communicationdevice(s) 1026 (which may in turn be in communication with a computernetwork), and a data storage unit 1019 such as a disk drive or othermass storage device which may include code 1030, in one embodiment. Thecode 1030 may include instructions for performing embodiments of one ormore of the methods described above. Thus, the illustrated code 1030 mayimplement the logic architecture 670 (FIG. 6), already discussed.Further, an audio I/O 1024 may be coupled to second bus 1020.

Note that other embodiments are contemplated. For example, instead ofthe point-to-point architecture of FIG. 8, a system may implement amulti-drop bus or another such communication topology. Also, theelements of FIG. 8 may alternatively be partitioned using more or fewerintegrated chips than shown in FIG. 8.

Additional Notes and Examples:

Examples may include subject matter such as an apparatus to provide acategory-based keyboard and/or select an element thereof, means forperforming acts, or a machine readable medium including instructionsthat when performed by a machine causes the machine to perform actsrelated to providing a category-based keyboard.

Example 1 may include subject matter such as an apparatus to provide acategory-based keyboard and/or select an element thereof. The apparatusmay include a display, a key module to provide one or more keys to berendered to a user via the display, wherein at least one of the keys isto include one or more characters, a contact module to recognize one ormore touch areas formed between one or more user digits and the keys, aclassification module to determine one or more categories associatedwith at least one of the touch areas, and/or a selection module toselect at least one of the characters based on the categories.

Example 2 may include the subject matter of Example 1 and furtheroptionally is to include a display including a touch screen.

Example 3 may include the subject matter of any of Example 1 to Example2 and further optionally is to include the key module to provide akeyboard configuration including a plurality of characters in at leastone of the keys.

Example 4 may include the subject matter of any of Example 1 to Example3 and further optionally is to include the key module to provide akeyboard configuration including a reduction in the number of keysand/or an enlargement of the size of the keys relative to a pre-existingkeyboard configuration based on at least one of the categories.

Example 5 may include the subject matter of any of Example 1 to Example4 and further optionally is to include the contact module to determineone or more qualities of at least one of the touch areas.

Example 6 may include the subject matter of any of Example 1 to Example5 and further optionally is to include the classification module todetermine a category that is to include a hand category including atleast one of a right hand class and a left hand class and/or a fingercategory including at least one of a thumb class, an index finger class,a middle finger class, a ring finger class, and a little finger class.

Example 7 may include the subject matter of any of Example 1 to Example6 and further optionally is to include the selection module to use atleast one of the touch areas to determine a key to be contacted and/or acharacter to be contacted.

Example 8 may include the subject matter of any of Example 1 to Example7 and further optionally is to include the selection module to select atleast one of the characters from a plurality of characters in at leastone of the keys based on a single contact action for the key.

Example 9 may include subject matter such as a method of providing acategory-based keyboard and/or selecting an element thereof. The methodmay include recognizing one or more touch areas formed between one ormore user digits and one or more keys, wherein at least one of the keysmay include one or more characters, determining one or more categoriesassociated with at least one of the touch areas, and/or selecting atleast one of the characters based on the categories.

Example 10 may include the subject matter of Example 9 and furtheroptionally may include rendering at least one of the keys via a display.

Example 11 may include the subject matter of any of Example 9 to Example10 and further optionally may include providing a keyboard configurationincluding a plurality of characters in at least one of the keys.

Example 12 may include the subject matter of any of Example 9 to Example11 and further optionally may include providing a reduction in thenumber of keys and/or an enlargement of the size of the keys relative toa pre-existing keyboard configuration based on at least one of thecategories.

Example 13 may include the subject matter of any of Example 9 to Example12 and further optionally may include determining one or more qualitiesof at least one of the touch areas.

Example 14 may include the subject matter of any of Example 9 to Example13 and further optionally may include determining a hand categoryincluding at least one of a right hand class and a left hand classand/or a finger category including at least one of a thumb class, anindex finger class, a middle finger class, a ring finger class, and alittle finger class.

Example 15 may include the subject matter of any of Example 9 to Example14 and further optionally may include using at least one of the touchareas to determine a key contacted and/or a character contacted.

Example 16 may include the subject matter of any of Example 9 to Example15 and further optionally may include pre-defining at least one of thecategories based on one or more reference touch areas and/orpre-defining one or more selection rules to select the characters.

Example 17 may include the subject matter of any of Example 9 to Example16 and further optionally may include facilitating a work product basedon the characters selected and/or facilitating access to secure contentbased on the characters selected.

Example 18 may include subject matter such as at least onecomputer-readable medium including one or more instructions that whenexecuted on one or more computing devices causes the one or morecomputing devices to perform the method of any of Example 9 to Example17.

Example 19 may include subject matter such as at least one apparatusincluding means for performing the method of any of Example 9 to Example17.

Example 20 may include subject matter such as at least one systemincluding means for performing the method of any of Example 9 to Example17.

Various embodiments may be implemented using hardware elements, softwareelements, or a combination of both. Examples of hardware elements mayinclude processors, microprocessors, circuits, circuit elements (e.g.,transistors, resistors, capacitors, inductors, and so forth), integratedcircuits, application specific integrated circuits (ASIC), programmablelogic devices (PLD), digital signal processors (DSP), field programmablegate array (FPGA), logic gates, registers, semiconductor device, chips,microchips, chip sets, and so forth. Examples of software may includesoftware components, programs, applications, computer programs,application programs, system programs, machine programs, operatingsystem software, middleware, firmware, software modules, routines,subroutines, functions, methods, procedures, software interfaces,application program interfaces (API), instruction sets, computing code,computer code, code segments, computer code segments, words, values,symbols, or any combination thereof. Determining whether an embodimentis implemented using hardware elements and/or software elements may varyin accordance with any number of factors, such as desired computationalrate, power levels, heat tolerances, processing cycle budget, input datarates, output data rates, memory resources, data bus speeds and otherdesign or performance constraints.

One or more aspects of at least one embodiment may be implemented byrepresentative instructions stored on a machine-readable medium whichrepresents various logic within the processor, which when read by amachine causes the machine to fabricate logic to perform the techniquesdescribed herein. Such representations, known as “IP cores” may bestored on a tangible, machine readable medium and supplied to variouscustomers or manufacturing facilities to load into the fabricationmachines that actually make the logic or processor.

Embodiments are applicable for use with all types of semiconductorintegrated circuit (“IC”) chips. Examples of these IC chips include butare not limited to processors, controllers, chipset components,programmable logic arrays (PLAs), memory chips, network chips, and thelike. In addition, in some of the drawings, signal conductor lines arerepresented with lines. Some may be different, to indicate moreconstituent signal paths, have a number label, to indicate a number ofconstituent signal paths, and/or have arrows at one or more ends, toindicate primary information flow direction. This, however, should notbe construed in a limiting manner. Rather, such added detail may be usedin connection with one or more exemplary embodiments to facilitateeasier understanding of a circuit. Any represented signal lines, whetheror not having additional information, may actually comprise one or moresignals that may travel in multiple directions and may be implementedwith any suitable type of signal scheme, e.g., digital or analog linesimplemented with differential pairs, optical fiber lines, and/orsingle-ended lines.

Example sizes/models/values/ranges may have been given, althoughembodiments are not limited to the same. As manufacturing techniques(e.g., photolithography) mature over time, it is expected that devicesof smaller size could be manufactured. In addition, well knownpower/ground connections to IC chips and other components may or may notbe shown within the figures, for simplicity of illustration anddiscussion, and so as not to obscure certain aspects of the embodiments.Further, arrangements may be shown in block diagram form in order toavoid obscuring embodiments, and also in view of the fact that specificswith respect to implementation of such block diagram arrangements arehighly dependent upon the platform within which the embodiment is to beimplemented, i.e., such specifics should be well within purview of oneskilled in the art. Where specific details (e.g., circuits) are setforth in order to describe example embodiments, it should be apparent toone skilled in the art that embodiments may be practiced without, orwith variation of, these specific details. The description is thus to beregarded as illustrative instead of limiting.

Some embodiments may be implemented, for example, using a machine ortangible computer-readable medium or article which may store aninstruction or a set of instructions that, if executed by a machine, maycause the machine to perform a method and/or operations in accordancewith the embodiments. Such a machine may include, for example, anysuitable processing platform, computing platform, computing device,processing device, computing system, processing system, computer,processor, or the like, and may be implemented using any suitablecombination of hardware and/or software. The machine-readable medium orarticle may include, for example, any suitable type of memory unit,memory device, memory article, memory medium, storage device, storagearticle, storage medium and/or storage unit, for example, memory,removable or non-removable media, erasable or non-erasable media,writeable or re-writeable media, digital or analog media, hard disk,floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact DiskRecordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk,magnetic media, magneto-optical media, removable memory cards or disks,various types of Digital Versatile Disk (DVD), a tape, a cassette, orthe like. The instructions may include any suitable type of code, suchas source code, compiled code, interpreted code, executable code, staticcode, dynamic code, encrypted code, and the like, implemented using anysuitable high-level, low-level, object-oriented, visual, compiled and/orinterpreted programming language.

Unless specifically stated otherwise, it may be appreciated that termssuch as “processing.” “computing,” “calculating,” “determining,” or thelike, refer to the action and/or processes of a computer or computingsystem, or similar electronic computing device, that manipulates and/ortransforms data represented as physical quantities (e.g., electronic)within the computing system's registers and/or memories into other datasimilarly represented as physical quantities within the computingsystem's memories, registers or other such information storage,transmission or display devices. The embodiments are not limited in thiscontext.

The term “coupled” may be used herein to refer to any type ofrelationship, direct or indirect, between the components in question,and may apply to electrical, mechanical, fluid, optical,electromagnetic, electromechanical or other connections. In addition,the terms “first”, “second”, etc. may be used herein only to facilitatediscussion, and carry no particular temporal or chronologicalsignificance unless otherwise indicated. Additionally, it is understoodthat the indefinite articles “a” or “an” carry the meaning of “one ormore” or “at least one”. In addition, as used in this application and inthe claims, a list of items joined by the terms “one or more of” and “atleast one of” can mean any combination of the listed terms. For example,the phrase “one or more of A, B or C” can mean A; B; C; A and B; A andC; B and C; or A, B and C.

Those skilled in the art will appreciate from the foregoing descriptionthat the broad techniques of the embodiments may be implemented in avariety of forms. Therefore, while the embodiments have been describedin connection with particular examples thereof, the true scope of theembodiments should not be so limited since other modifications willbecome apparent to the skilled practitioner upon a study of thedrawings, the specification, and following claims.

I claim:
 1. An apparatus to provide a keyboard or select an elementthereof comprising: a display; a key module to provide one or more keysto be rendered to a user via the display, wherein at least one key ofthe one or more keys is to include two or more characters; a contactmodule to recognize a touch area formed between one or more user digitsand a single key to choose a character from among two or more charactersof the single key, wherein the single key is to include two or morepartitioned sets of characters, and wherein each set of characters is toinclude a plurality of characters; a classification module to determine,in response to the touch area being formed to choose the character, oneor more classes for the one or more user digits used to form the toucharea between the one or more user digits and the single key; and aselection module to: select the character from among the two or morecharacters of the single key based on the one or more classes for theone or more user digits used to form the touch area between the one ormore user digits and the single key, wherein a first character of thetwo or more characters is to be selected when the touch area is to beformed between one or more user digits of a left hand and the singlekey, independent of contact with the display by a digit of the left handoutside of the single key, and independent of contact with the displayby a digit of the right hand, and wherein a second character of the twoor more characters is to be selected when the touch area is to be formedbetween the one or more user digits of a the right hand and the singlekey, independent of contact with the display by a digit of the righthand outside of the single key, and independent of contact with thedisplay by a digit of the left hand; select a first set of charactersfrom among the two or more partitioned sets of characters and one of thefirst character or the second character from among the first set ofcharacters when the touch area is to be formed between one of the one ormore user digits of the left hand or the one or more user digits of theright hand and the single key; and select a second set of charactersfrom among the two or more partitioned sets of characters and the otherof the first character or the second character from among the second setof characters when the touch area is to be formed between the other ofthe one or more user digits of the left hand or the one or more userdigits of the right hand and the single key.
 2. The apparatus of claim1, wherein the display includes a touch screen.
 3. The apparatus ofclaim 1, wherein the contact module is to determine one or morequalities of the touch area.
 4. The apparatus of claim 1, wherein theselection module is to use the touch area to determine one or more ofthe single key is to be contacted or the first character or the secondcharacter is to be contacted, and is to select the first character orthe second character based on a single contact action for the singlekey.
 5. The apparatus of claim 1, wherein the classification module isto determine that at least one of the classes is to include one or moreof a right hand class, a left hand class, a thumb class, an index fingerclass, a middle finger class, a ring finger class, and a little fingerclass.
 6. A method to provide a keyboard or select an element thereofcomprising: recognizing a touch area formed between one or more userdigits and a single key that includes two or more characters, whereinthe single key includes two or more partitioned sets of characters, andwherein each set of characters includes a plurality of characters;determining, in response to the touch area being formed between one ormore user digits and the single key to choose a character from among thetwo or more characters, one or more classes for the one or more userdigits used to form the touch area between the one or more user digitsand the single key; selecting the character from among the two or morecharacters of the single key based on the one or more classes for theone or more user digits used to form the touch area between the one ormore user digits and the single key, wherein a first character of thetwo or more characters is selected when the touch area is formed betweenone or more user digits of a left hand and the single key, independentof contact with a display by a digit of the left hand outside of thesingle key, and independent of contact with the display by a digit ofthe right hand, and wherein a second character of the two or morecharacters is selected when the touch area is formed between the one ormore user digits of a the right hand and the single key, independent ofcontact with the display by a digit of the right hand outside of thesingle key, and independent of contact with the display by a digit ofthe left hand; selecting a first set of characters from among the two ormore partitioned sets of characters and one of the first character orthe second character from among the first set of characters when thetouch area is formed between one of the one or more user digits of theleft hand or the one or more user digits of the right hand and thesingle key; and selecting a second set of characters from among the twoor more partitioned sets of characters and the other of the firstcharacter or the second character from among the second set ofcharacters when the touch area is to be formed between the other of theone or more user digits of the left hand or the one or more user digitsof the right hand and the single key.
 7. The method of claim 6, furtherincluding providing one or more of a reduction in the number of keys oran enlargement of the size of the keys relative to a pre-existingkeyboard configuration based on at least one of the classes.
 8. Themethod of claim 6, further including determining one or more qualitiesof touch area, the one or more qualities including at least one of asize and a shape.
 9. The method of claim 6, further including using thetouch area to determine one or more of the single key is contacted orthe first character or the second character is contacted.
 10. The methodof claim 6, further including selecting the first character or thesecond character based on a single contact action for the single key.11. The method of claim 6, further including pre-defining one or more ofat least one of the classes based on one or more reference touch areasor one or more selection rules to select the first character or thesecond character.
 12. The method of claim 6, further includingfacilitating one or more of a work product based on the first characteror the second character selected or access to secure content based onthe first character or the second character selected.
 13. The method ofclaim 6, further including determining that at least one of the one ormore classes includes one or more a right hand class, a left hand class,a thumb class, an index finger class, a middle finger class, a ringfinger class, and a little finger class.
 14. At least one non-transitorycomputer-readable medium comprising one or more instructions that whenexecuted on a computing device cause the computing device to: provideone or more keys to be rendered to a user via the display, wherein atleast one key of the one or more keys is to include two or morecharacters wherein the single key is to include two or more partitionedsets of characters and wherein each set of characters is to include aplurality of characters; recognize a touch area formed between one ormore user digits and a single key to choose a character from among twoor more characters of the single key; determine, in response to thetouch area being formed to choose the character, one or more classes forthe one or more user digits used to form touch area between the one ormore user digits and the single key; select the character from among thetwo or more characters of the single key based on the one or moreclasses for the one or more user digits used to form the touch areabetween the one or more user digits and the single key, wherein a firstcharacter of the two or more characters is to be selected when the toucharea is to be formed between one or more user digits of a left hand andthe single key, independent of contact with a display by a digit of theleft hand outside of the single key, and independent of contact with thedisplay by a digit of the right hand, and wherein a second character ofthe two or more characters is to be selected when the touch area is tobe formed between the one or more user digits of the right hand and thesingle key, independent of contact with the display by a digit of theright hand outside of the single key, and independent of contact withthe display by a digit of the left hand; select a first set ofcharacters from among the two or more partitioned sets of characters andone of the first character or the second character from among the firstset of characters when the touch area is to be formed between one of theone or more user digits of the left hand or the one or more user digitsof the right hand and the single key; and select a second set ofcharacters from among the two or more partitioned sets of characters andthe other of the first character or the second character from among thesecond set of characters when the touch area is to be formed between theother of the one or more user digits of the left hand or the one or moreuser digits of the right hand and the single key.
 15. The at least onenon-transitory computer-readable medium of claim 14, wherein theinstructions, if executed, cause a computing device to determine one ormore qualities of the touch area.
 16. The at least one non-transitorycomputer-readable medium of claim 14, wherein the instructions, ifexecuted, cause a computing device to: use the touch area to determineone or more of the single key is to be contacted or the first characteror the second character is to be contacted; and select the firstcharacter or the second character based on a single contact action forsingle key.
 17. The at least one non-transitory computer-readable mediumof claim 14, wherein the instructions, if executed, cause a computingdevice to determine that at least one of the classes is to include oneor more of a right hand class, a left hand class, a thumb class, anindex finger class, a middle finger class, a ring finger class, and alittle finger class.
 18. An apparatus to provide a keyboard or select anelement thereof comprising: a key module to provide one or more keys,wherein at least one key of the one or more keys is to include two ormore characters, wherein the single key is to include two or morepartitioned sets of characters, and wherein each set of characters is toinclude a plurality of characters; a contact module to recognize a toucharea formed between one or more user digits and a single key to choose acharacter from among the two or more characters of the single key; aclassification module to determine, in response to the touch area beingformed to choose the character, one or more classes for the one or moreuser digits used to form the touch area between the one or more userdigits and the single key; and a selection module to: select thecharacter from among the two or more characters of the single key basedon the one or more classes for the one or more user digits used to formthe touch area between the one or more user digits and the single key,wherein a first character of the two or more characters is to beselected when the touch area is to be formed between one or more userdigits of a left hand and the single key, independent of contact with adisplay by a digit of the left hand outside of the single key, andindependent of contact with the display by a digit of the right hand,and wherein a second character of the two or more characters is to beselected when the touch area is to be formed between the one or moreuser digits of the right hand and the single key, independent of contactwith the display by a digit of the right hand outside of the single key,and independent of contact with the display by a digit of the left handselect a first set of characters from among the two or more partitionedsets of characters and one of the first character or the secondcharacter from among the first set of characters when the touch area isto be formed between one of the one or more user digits of the left handor the one or more user digits of the right hand and the single key; andselect a second set of characters from among the two or more partitionedsets of characters and the other of the first character or the secondcharacter from among the second set of characters when the touch area isto be formed between the other of the one or more user digits of theleft hand or the one or more user digits of the right hand and thesingle key.